import sqlite3
import os
import sys
from database import db_manager

# 添加调试信息
print("脚本开始执行")
print(f"当前工作目录: {os.getcwd()}")

# 使用数据库管理器获取数据库路径
db_path = db_manager.get_db_path()
if db_path:
    print(f"数据库管理器返回的路径: {db_path}")
else:
    print("数据库路径未设置，使用默认路径")
    db_path = 'sync_cloud.db'
    if not os.path.exists(db_path):
        print(f"未找到 {db_path}，尝试在db目录中查找")
        db_path = os.path.join('db', 'sync.db')
    
print(f"使用数据库路径: {db_path}")
if not os.path.exists(db_path):
    print(f"错误: 数据库文件 {db_path} 不存在")
    sys.exit(1)

try:
    conn = sqlite3.connect(db_path)
    conn.row_factory = sqlite3.Row
    cursor = conn.cursor()
    print("成功连接到数据库")
    
    # 获取所有表
    print("\n数据库中的表:")
    cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
    tables = cursor.fetchall()
    if tables:
        for table in tables:
            print(f"- {table['name']}")
    else:
        print("数据库中没有表")
    
    print("\n所有同步目录信息:")
    # 获取sync_dirs表所有字段和所有记录
    try:
        cursor.execute("SELECT * FROM sync_dirs")
        sync_dirs = cursor.fetchall()
        if sync_dirs:
            for dir_info in sync_dirs:
                print(f"ID: {dir_info['id']}")
                print(f"用户ID: {dir_info['user_id']}")
                print(f"本地路径: {dir_info['local_path']}")
                print(f"FTP主机: {dir_info['ftp_host']}")
                print(f"FTP用户: {dir_info['ftp_user']}")
                print(f"FTP密码: {dir_info['ftp_pass']}")
                print(f"FTP路径: {dir_info['ftp_path']}")
                print(f"同步状态: {dir_info['sync_status']}")
                print(f"最后同步: {dir_info['last_sync']}")
                print(f"同步策略: {dir_info['sync_strategy']}")
                print("-" * 30)
        else:
            print("没有同步目录记录")
    except Exception as e:
        print(f"查询sync_dirs表出错: {e}")
    
    # 特别查询ID为11和16的记录
    print("\n特别查询ID为11和16的记录:")
    try:
        cursor.execute("SELECT * FROM sync_dirs WHERE id IN (11, 16)")
        specific_dirs = cursor.fetchall()
        if specific_dirs:
            for dir_info in specific_dirs:
                print(f"ID: {dir_info['id']}")
                print(f"FTP主机: {dir_info['ftp_host']}")
                print(f"本地路径: {dir_info['local_path']}")
                print("-" * 30)
        else:
            print("没有找到ID为11或16的记录")
    except Exception as e:
        print(f"查询特定ID记录出错: {e}")
    
    conn.close()
    print("数据库连接已关闭")
    
except Exception as e:
    print(f"处理数据库时出错: {e}")

print("脚本执行完毕")
# 确保输出被刷新
sys.stdout.flush() 